#ifndef LENGTHUNIT_H
#define LENGTHUNIT_H

#include <Unit.h>


#define  MILE  LengthUnit::getMileInstance()
#define  YARD  LengthUnit::getYardInstance()
#define  FEET  LengthUnit::getFeetInstance()


struct LengthUnit : Unit
{
    //Should be not called by user.
    static const LengthUnit* getMileInstance();
    static const LengthUnit* getYardInstance();
    static const LengthUnit* getFeetInstance();

    const LengthUnit* nextUnit() const;

private:
    LengthUnit(const std::string& name, unsigned int factor, const LengthUnit* referenceUnit);

};

#endif
